Fast Algorithms for Compressed Multi-Method Dispatch Tables Generation

نویسندگان

  • ERIC DUJARDIN
  • Sun Microsystems
  • ERIC AMIEL
  • Eric Dujardin
چکیده

The eeciency of dynamic dispatch is a major impediment to the adoption of multi-methods in object-oriented languages. In this paper, we propose a simple multi-method dispatch scheme based on compressed dispatch tables. This scheme is applicable to any object-oriented language using a method precedence order that satisses a speciic monotonous property (e.g., as Cecil and Dylan), and guarantees that dynamic dispatch is performed in constant time, a major requirement for some languages and applications. We provide eecient algorithms to build the dispatch tables, provide their worst-case complexity, and demonstrate the eeectiveness of our scheme by real measurements performed on two large object-oriented applications. Finally, we provide a detailed comparison of our technique with other existing techniques. 1. INTRODUCTION In traditional object-oriented systems such as Smalltalk Goldberg and Robson 1983] and C++ Ellis and Stroustrup 1992], functions have a specially designated target argument, sometimes called receiver, whose type, determined either at run-time or at compile-time, serves to select the method to execute in response to a function invocation. Multiple dispatching, rst introduced in CommonLoops Bo-brow et al. 1986] and CLOS Bobrow et al. 1988], generalizes this form of dynamic binding by selecting a method depending on the run-time type of a subset of the arguments of a function invocation. Methods in this generalized scheme are called

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Multi - Method Dispatch Using Multiple

Multiple Row Displacement (MRD) is a new dispatch technique for multi-method languages. It is based on compressing an n-dimensional table using an extension of the single-receiver row displacement mechanism. This paper presents the new algorithm and provides experimental results that compare it with implementations of existing techniques: compressed n-dimensional tables, look-up automata and si...

متن کامل

Day-ahead economic dispatch of coupled desalinated water and power grids with participation of compressed air energy storages

Nowadays, water and electricity are closely interdependent essential sources in human life that affect socio-economic growth and prosperity. In other words, electricity is a fundamental source to supply a seawater desalination process, while fresh water is used for cooling this power plant. Therefore, mutual vulnerability of water treatment and power generation systems is growing because of inc...

متن کامل

Multi-method Dispatch Using Multiple Row Displacement

Multiple Row Displacement (MRD) is a new dispatch technique for multi-method languages. It is based on compressing an n-dimensional table using an extension of the single-receiver row displacement mechanism. This paper presents the new algorithm and provides experimental results that compare it with implementations of existing techniques: compressed n-dimensional tables, look-up automata and si...

متن کامل

Solving the Economic Load Dispatch Problem Considering Units with Different Fuels Using Evolutionary Algorithms

Nowadays, economic load dispatch between generation units with least cost involved is one of the most important issues in utilizing power systems. In this paper, a new method i.e. Water Cycle Algorithm (WCA) which is similar to other intelligent algorithm and is based on swarm, is employed in order to solve the economic load dispatch problem between power plants. In order to investigate the eff...

متن کامل

Per Unit Coding for Combined Economic Emission Load Dispatch using Smart Algorithms

This paper proposes per unit coding for combined economic emission load dispatch problem. In the proposed coding, it is possible to apply the percent effects of elements in any number and with high accuracy in objective function. In the proposed per unit coding, each function is transformed into per unit form based on its own maximum value and has a value from 0 to 1. In this paper, particle sw...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996